// pages/login/login.js
import {getlogin} from '../../request/api'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userinfo:{}
  },
  // wx.setStorageSync(string key, any data)是微信小程序同步缓存方法：
  // 是异步获取缓存方法的反向，就是同步获取缓存（所有异步方法后缀加上Sync就是同步方法了）。同步缓存需要接受2个参数。同步方法没有success（即缓存成功）、fail（缓存失败）、complete（即缓存完成）3个通用方法。
  // wx.setStorage(Object object)是微信小程序异步缓存方法：
  // 是一个获取缓存值异步方法，参数object包含Key，data和success（即缓存成功）、fail（缓存失败）、complete（即缓存完成）3个通用方法。只要是异步的方法都会有这3个通用方法。优点：将过程细化，在3个过程（3个通用方法）中可以进一步优化一功能。
  // 总结：
  // 在微信小程序中，异步不管保没保存成功,程序都会继续往下执行.同步是等保存成功了,才会执行下面的代码.使用异步,性能会更好;而使用同步,数据会更安全。

  //  封装成函数
  getusers(e){
    // 1 通过开放能力获取用户信息  wx.getUserProfile()
    wx.getUserProfile({
      desc: '完善信息',
      success:(res)=>{
       console.log(res);
      //  this.data.userinfo=res.userInfo
       wx.setStorageSync('userinfo', res.userInfo)  //头像会用到
      //  结构赋值  获取token需要的数据
      let {encryptedData,rawData,iv,signature}=res
        // wx.login 获得code
        wx.login({
          success:(ress)=>{
            console.log(ress,31);
            let {code}=ress
            //判断是否有code
            if(ress.code){
              // 请求接口
              getlogin({ encryptedData, rawData, iv, signature, code}).then(restwo=>{
                    console.log(restwo);
                    //  存放个死值
                    wx.setStorageSync('token', 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo')
                    // 获取token 返回呢上一级页面
                    // getCurrentPages({
                    //   delta:1
                    // })
                    wx.navigateBack({
                      delta:1
                    })
              })
            }else{
              wx.showToast({
                title: '授权失败',
              })
            }
          }
        } )
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
 

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})